package com.yl.framework.beans.factory;

/**
 * @Author 小羊
 * @Date 2/11/2024下午 3:47
 * @ClassName BeanFactory
 * @Description IOC容器父接口
 */
public interface BeanFactory {
    /**
     * 根据bean对象的名称获取bean对象
     * @param name
     * @return
     * @throws Exception
     */
    Object getBean(String name) throws Exception;

    /**
     * 根据bean对象的名称并且获取到对象的类型获取对象
     * @param name
     * @param clazz
     * @param <T>
     * @return
     * @throws Exception
     */
    <T> T getBean(String name, Class<? extends T> clazz) throws Exception;
}
